package com.ruoyi.system.domain.app;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class Device extends BaseEntity {
    private Long id;

    private Integer idleAmount;

    private Integer busyAmount;

    private Integer faultAmount;

    private String deviceNum;

    private String deviceName;

    private Integer deviceState;

    private Integer deviceLineState;

    private Integer billingType;

    private Long operatorId;

    private String operatorName;

    private Long communityId;

    private String communityName;

    private Double longitude;

    private Double latitude;

    private String site;

    private Double maxPower;

    private Double minPower;

    private Long maxTime;

    private BigDecimal electricityMoney;

    private BigDecimal timeBilling;

    private BigDecimal chargingUpper;

    private String remark;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lineTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date offLineTime;

    private String iccid;

    private String imei;

    private String csq;

    private String version;

    private String hardwareVersion;

    private String compileTime;

    private String temperature;

    private String humidity;

    private Integer smokeState;

    private Integer floodingState;

    private Integer workStatus;

    private String totalPower;

    private String electricQuantity;

    private String fanMax;

    private String fanMin;

    private Integer fan;

    private String ratedPower;

    private Integer periodTime;

    private Integer collectionTime;

    private Integer chargeFailedNumber;

    private Integer swipeTime;

    private Integer continueTime;

    private Integer continuePower;

    private Integer endTime;

    private Integer depositTime;

    private Double depositCost;

    private Integer isDeposit;

    private BigDecimal minimumConsumption;

    private Integer isMinimumConsumption;

    private String appId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date upTime;

    private List<PowerBilling> powerBillings;

    private String lon;

    private String lat;

    private String deviceType;
}